#pragma once

#include "TextureSampler.h"
#include "SamplerNameGL3x.h"
#include "Device.h"
#include "TypeConverterGL3x.h"

namespace Renderer
{
	namespace GL3x
	{
		class TextureSamplerGL3x : public TextureSampler
		{
		public:
			TextureSamplerGL3x(
				TextureMinificationFilter minificationFilter,
				TextureMagnificationFilter magnificationFilter,
				TextureWrap wrapS,
				TextureWrap wrapT,
				float maximumAnistropy);

			void Bind(int textureUnitIndex);

			void Destroy();

			static void UnBind(int textureUnitIndex);
		private:
			SamplerNameGL3x* _name;

		};
	}
}